using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace VerticalProcesses
{
    public abstract class OutputWriter
    {   
        protected string _outputPath;
        protected string _gruType;     
        protected string[] _gruOutputVars;
        protected Dictionary<string, bool> _gruIDs;
 
        #region public methods

        public abstract void captureGruState(Dictionary<string, double> selectedVarsValues, int gruIndex);
        public abstract void captureCduState(Dictionary<string, double> selectedVarsValues, int cduIndex);
        public abstract void write(DateTime currentDate);
        public abstract void closeAll();


        #endregion

        // constructors
        public OutputWriter(string gruType, string outputPath, string[] gruOutputVars,
                Dictionary<string, bool> gruIDs)

        {   
            _outputPath = outputPath;
            _gruType = gruType;           
            _gruOutputVars = gruOutputVars;
            _gruIDs = gruIDs;
        
        }


    }
}
